// Date.prototype.friendTime = function (Time) {
//     let date = new Date().getTime()
//     let deff = date - Time.getTime()
//     switch (deff) {
//         case Math.floor(deff / 1000) < 1000 * 30:
//             return "刚刚"
//             break;
//         case Math.floor(deff / 1000) < 1000 * 60:
//             return "1分钟前"
//             break;
//         // 小于一小时
//         case Math.floor(deff / (1000 * 60)) < 1000 * 60 * 60:
//             return Math.floor(deff / 1000 * 60) + "分钟前"
//             break;
//         // 小于一天,显示多少小时前
//         case Math.floor(deff / (1000 * 60 * 24)) < 1000 * 60 * 60 * 24:
//             return Math.floor(deff / 1000 * 60 * 24) + "小时前"
//             break;
//         // 小于一月,显示多少天前
//         case Math.floor(deff / (1000 * 60 * 24 * 30)) < 1000 * 60 * 60 * 24 * 30:
//             return Math.floor(deff / 1000 * 60 * 24 * 30) + "天前"
//             break;
//     }
// }

Date.prototype.format = function (o) {
    // let times=new Date()
    var times = Date.parse(new Date());//转为时间毫秒
    let time = (times - o) / 1000
    // console.log(times)
    if (time < 60 * 10) {  //十分钟内
        return '刚刚';
    } else if ((time < 60 * 60) && (time >= 60 * 10)) { //超过十分钟少于1小时
        s = Math.floor(time / 60);
        return s + "分钟前";
    } else if ((time < 60 * 60 * 24) && (time >= 60 * 60)) {  //超过1小时少于24小时
        s = Math.floor(time / 60 / 60);
        return s + "小时前";
    } else if ((time < 60 * 60 * 24 * 3) && (time >= 60 * 60 * 24)) { //超过1天少于3天内
        s = Math.floor(time / 60 / 60 / 24);
        return s + "天前";
    } else {   //超过3天


        let date = new Date(o);
        let y = date.getFullYear();
        let m = date.getMonth() + 1;
        m = m < 10 ? "0" + m : m;
        let d = date.getDate();
        d = d < 10 ? "0" + d : d;
        let h = date.getHours();
        h = h < 10 ? "0" + h : h;
        let minute = date.getMinutes();
        return y + "年" + m + "月" + d + "日" + h + "时" + minute + "分"

    }


}

// 计算日月时间
Date.prototype.birth = function (o) {
    if (!o) {
        return
    }
    let date = new Date(o)
    let y = date.getFullYear()
    let m = date.getMonth() + 1
    let d = date.getDate()
    return `${y}年${m}月${d}日`

}

// // 计算日月时间
Date.prototype.myDate = function (format) {
    let Y = this.getFullYear();//年
    let M = this.getMonth() + 1;//月
    let D = this.getDate();//日
    let h = this.getHours();//时
    let m = this.getMinutes();//分
    let s = this.getSeconds();//秒
    let timeArr = [Y, M, D, h, m, s]
    let labelArr = ["年", "月", "日", "时", "分", "秒"]
    if (/^[a-zA-Z0-9]{4}([-/][a-zA-Z0-9]{1,2}){1,5}$/.test(format)) {
        if (format.slice(4, 5) == "/") {
            var arr = format.split("/")
        } else {
            var arr = format.split("-")
        }

        let date = []
        for (let index = 0; index < arr.length; index++) {
            date.push(timeArr[index], labelArr[index])
        }
        return date.join("")


    }


}


Date.prototype.layout = function (fmt) {
    // 转成日期对象

    // 由于年一般是4位，我们先特殊处理
    if (/(y+)/.test(fmt)) {  // 使用正则表达式匹配y的部分
        fmt = fmt.replace(
            RegExp.$1, // RegExp.$1记录着我们正则表达式括号包含的匹配部分
            // 获取年份，转成日期，看有多少个y，就截取多少位的年
            (this.getFullYear() + '').substr(4 - RegExp.$1.length) // 
        );
    }
    // 处理2位的日期
    const obj = {
        // 之所以用M+，d+这种来当属性名，是因为这样可以把他们当作正则表达式来使用
        'M+': this.getMonth() + 1,
        'd+': this.getDate(),
        'h+': this.getHours(),
        'm+': this.getMinutes(),
        's+': this.getSeconds(),
    };
    // 循环遍历obj
    for (let key in obj) {
        if (new RegExp(`(${key})`).test(fmt)) {
            fmt = fmt.replace(RegExp.$1, (obj[key] + '').padStart(2, '0')); // 这里和年那里替换差不多
        }
    }
    return fmt;
};